#ifndef RANDOMIZER_H_
#define RANDOMIZER_H_

#ifdef __cplusplus
extern "C" {
extern int Random(int min, int max);
}
#endif

class Randomizer {
public:
	Randomizer();
	Randomizer(int seed);

	virtual ~Randomizer();

	void Generate();
	void Generate(int seed);
	void GenerateState(void);
	int Random(int min, int max);

	DWORD* const getRandTable() {
		return rand_table;
	}

private:
	DWORD rand_table[625];
	static const int mag01[2];
};

#endif /* RANDOMIZER_H_ */
